<?php

/***************** FUNÇÕES PARA TRATAR INJEÇÃO DE CÓDIGO ****************************/
function mb_sql_regcase($string,$encoding='auto'){
	$max=mb_strlen($string,$encoding);
	$ret='';
	for ($i = 0; $i < $max; $i++) {
		$char=mb_substr($string,$i,1,$encoding);
		$up=mb_strtoupper($char,$encoding);
		$low=mb_strtolower($char,$encoding);
		$ret.=($up!=$low)?'['.$up.$low.']' : $char;
	}
	return $ret;
}

/**
* @name antiInjection
* @author Fabio Baía
* @since 06/08/2012 15:12:16
* Tratamento de injections em formulários
**/
function antiInjection($str)
{
	# Remove palavras suspeitas de injection.
	$str = preg_replace(mb_sql_regcase("/(\n|\r|%0a|%0d|Content-Type:|bcc:|to:|cc:|Autoreply:|from|select|insert|delete|where|drop table|drop database|kill|system|update|like|alter table|drop|\;|show tables|#|\*|--|\\\\)/"), "", $str);
$str = trim($str); # Remove espaços vazios.
$str = strip_tags($str); # Remove tags HTML e PHP.
$str = addslashes($str); # Adiciona barras invertidas à uma string.
return $str;
}

/**
* @name validaParametro
* @author Fabio Baía
* @since 06/08/2012 15:13:34
* Antes de tratar os injections, verifica se é vetor ou não
**/
function validaParametro($vetor)
{
	if (is_array($vetor))
	{
		foreach ($vetor as $chave => $valor)
		{
			if (is_array($valor))
			{
				$vetor[$chave] = validaParametro($valor);
			} else $vetor[$chave] = antiInjection($valor);
		}
	} else $vetor[$chave] = validaParametro($valor);
	return $vetor;
}


/*=================================================*/

// ----- EMAIL
/**
* @name sendEmail
* @author Fabio Baía
* @since 03/04/2013 23:52:47
* Função para envio de email
**/
function sendEmail($to, $subject, $template, $nome, $senha, $login = null){
		
	//$nome = utf8_encode($nome);
	$headers  = 'MIME-Version: 1.0' . "\n";
	$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\n";
	$headers .= 'From: uninga@uninga.br'. "\n";
	
	$message = '
<html>
<head>
 <title></title>
</head>
<body style="background: #f3f3f3">
<table align="center" cellpadding="0" cellspacing="0" width="670" style="border:1px solid #ccc;border-top: none;border-bottom: none;">
        <tbody>
        <tr>
          <td valign="top" width="668" height="77" bgcolor="#fafafa">
            <img src="http://ca.uninga.br/sys_protocolo/images/header_mail_3.png" border="0" width="668" height="77" alt="Uning&aacute; - Protocolo Online">
            
          </td>
        </tr>
        <tr>
          <td style="padding:10px 30px 15px 42px" valign="top" width="668" bgcolor="white">
            <b style="color:#4f5f6f;font-size:20px;font-family:Tahoma,sans-serif">Prezado(a), '.$nome.'.</b>
          </td>
        </tr>';
		
		switch($template){
			case "new_user":{
				$message .='<tr>
				  <td style="padding:3px 30px 10px 42px" valign="top" width="668" bgcolor="white">
					 <span style="color:#4f5f6f;font-size:13px">
					   Voc&ecirc;; foi cadastrado no sistema Protocolo Online. Para acessar, por favor visite o seguinte link:
					 </span>
				  </td>
				</tr>
				<tr>
				  <td style="padding:10px 30px 10px 42px" valign="top" width="668" bgcolor="white">
					<a href="http://ca.uninga.br/sys_protocolo/login.php" style="color:#4f5f6f;font-size:13px" target="_blank">
              http://ca.uninga.br/sys_protocolo/login.php
          	</a>
				  </td>
				</tr>
				<tr>
				  <td style="padding:10px 30px 10px 42px" valign="top" width="668" bgcolor="white">
					<span style="color:#4f5f6f;font-size:13px">
					   Seus dados de acesso s&atilde;o: 
					 </span>
				  </td>
				</tr>
				<tr>
				  <td style="padding:10px 30px 10px 42px" valign="top" width="668" bgcolor="white">
					<span style="color:#4f5f6f;font-size:13px">
					   Login: <b>'.$login.'</b><br />
					   Senha: <b>'.$senha.'</b>
					 </span>
				  </td>
				</tr>';
				break;
			}
			case "new_pass_users":{
				$message .='<tr>
				  <td style="padding:3px 30px 10px 42px" valign="top" width="668" bgcolor="white">
					 <span style="color:#4f5f6f;font-size:13px">
					   Sua senha de acesso ao Protocolo Online foi alterada.
					 </span>
				  </td>
				</tr>
				<tr>
				  <td style="padding:10px 30px 10px 42px" valign="top" width="668" bgcolor="white">
					<span style="color:#4f5f6f;font-size:13px">
					   Sua nova senha &eacute;: <b>'.$senha.'</b>
					</span>
				  </td>
				</tr>';
				break;
			}
			case "new_pass_perfil":{
				$message .='<tr>
				  <td style="padding:3px 30px 10px 42px" valign="top" width="668" bgcolor="white">
					 <span style="color:#4f5f6f;font-size:13px">
					   Voc&ecirc; alterou sua senha de acesso do Protocolo Online.
					 </span>
				  </td>
				</tr>
				<tr>
				  <td style="padding:10px 30px 10px 42px" valign="top" width="668" bgcolor="white">
					<span style="color:#4f5f6f;font-size:13px">
					   Sua nova senha &eacute; <b>'.$senha.'</b>
					</span>
				  </td>
				</tr>';
				break;
			}
		}
        
		
        $message .= '<tr>
          <td style="padding:3px 30px 10px 42px" valign="top" width="668" bgcolor="white">
             <span style="color:#4f5f6f;font-size:13px">
               Se voc&ecirc; tiver quaisquer outras d&uacute;vidas sobre o Protocolo Online, por favor, entre em contato com nossa equipe de suporte em <a href="mailto:pronetsoftware@hotmail.com" style="color:#0574b5;text-decoration:none" target="_blank">pronetsoftware@hotmail.com</a>.
             </span>
          </td>
        </tr>
        <tr>
          <td style="padding:0px 30px 0px 42px" valign="top" width="668" bgcolor="white">
            <table cellpadding="0" cellspacing="0" width="100%">
              <tbody>
              <tr>
                <td style="padding-bottom:20px"><br><i style="color:#8a8a8a;font-size:13px">Pronet Software e DevMake Systems</i></td>
              </tr>
              </tbody>
            </table>
          </td>
        </tr>
        <tr>
          <td style="padding:0px 30px 0px 42px" valign="top" width="668" height="" bgcolor="white">
            <table cellpadding="0" cellspacing="0" width="100%" style="border-top:1px dotted #e1e2e3">
              <tbody>
              <tr>
                <td style="padding:15px 0px">
                          <span style="color:#8a8a8a;font-size:11px">
                            Esta &eacute; uma mensagem de e-mail autom&aacute;tica, por favor n&atilde;o responda diretamente. Voc&ecirc; pode entrar em contato enviando um e-mail para <a href="mailto:pronetsoftware@hotmail.com" style="color:#0574b5;text-decoration:none" target="_blank">pronetsoftware@hotmail.com</a>.
                          </span>
                </td>
              </tr>
              </tbody>
            </table>
          </td>
        </tr>
        </tbody>
      </table>
</body>
</html>
';

    mail($to, $subject, $message, $headers);
}


function loadMenu($tipo){
	if($tipo == "evento"){
		include("menu_evento_inc.php");
	}else{
		include("menu_inc.php");
	}
}

/**
* Retorna a url da imagem do perfil google com base no email
* @access public
* @name getImageFromGoogleProfile
* @param string $email
* @return string URL da imagem do perfil google
* @since 24/04/2013 18:12:14
*/
function getImageFromGoogleProfile($email) {
    //tenta pegar imagem do perfil do Google
	$explode = explode("@", $email);
	
	$uaccount = $explode[0];
	$server = $explode[1];
	
	if($server == "gmail.com"){
		$headers = get_headers("http://profiles.google.com/s2/photos/profile/".$uaccount, 1);
		$picUrl = $headers['Location'];
		//echo '<img src="'.$picUrl.'" alt="Foto"  />';
	}else{
		$picUrl = "";
		//echo '<img src="avatar.jpg" alt=""  />';
	}
	
	return $picUrl;
}



/**
 * Converte um datetime do formato(Y/m/d H:i:s) no formato brasileiro(d/m/Y H:i:s)
 * @name datetime_to_ptbr
 * @author Fabio Cezar Baía baiacfabio@gmail.com
 * @param string $datetime Data no formato Y/m/d H:i:s
 * @return string Data no formato d/m/Y H:i:s
 * @since 25/04/2013 01:58:25
 **/
function datetime_to_ptbr($datetime) {
	$yr=strval(substr($datetime,0,4));
	$mo=strval(substr($datetime,5,2));
	$da=strval(substr($datetime,8,2));

	$hr=strval(substr($datetime,11,2));
	$mi=strval(substr($datetime,14,2));
	$sg=strval(substr($datetime,17,2));

	//return date("d/m/Y H:i:s", mktime ($hr,$mi,0,$mo,$da,$yr));
	return date("d/m/Y H:i:s", mktime ($hr,$mi,$sg,$mo,$da,$yr));
}

/**
 * Converte uma string do formato(dd/mm/yy h:m:s) no formato formato(Y/m/d H:i:s)
 * @name ptbr_to_datetime
 * @author Fabio Cezar Baía baiacfabio@gmail.com
 * @param string $datetime Data no formato d/m/Y H:i:s
 * @return string Data no formato Y/m/d H:i:s
 * @since 25/04/2013 02:01:48 
 **/
function ptbr_to_datetime($datetime) {
	$da = strval(substr($datetime,0,2));
	$mo = strval(substr($datetime,3,2));
	$yr = strval(substr($datetime,6,4));

	$hr = strval(substr($datetime,11,2));
	$mi = strval(substr($datetime,14,2));
	$sg = strval(substr($datetime,17,2));

	return date("Y-m-d H:i:s", mktime ($hr,$mi,$sg,$mo,$da,$yr));
}


/**
 * @name date_to_ptbr
 * @author Fabio Baï¿½a
 * @since 17/02/2012 16:44:48
 * Converte um date do formato(Y/m/d) no formato brasileiro(d/m/Y)
 **/
function date_to_ptbr($date) {
	$yr=strval(substr($date,0,4));
	$mo=strval(substr($date,5,2));
	$da=strval(substr($date,8,2));

	return date("d/m/Y", mktime (0,0,0,$mo,$da,$yr));
}



?>